package com.zjj.learn.javaplus.pkg02.demo26;

public class TestDemo26_2 {

    /**
     * 单例模式的意思就是：在项目开发过程中，一个类只会创建出一个对象
     * 单例模式：分为饿汉式和懒汉式
     * 饿汉式：只要类一定加载，就会创建出单实例对象 {@link com.zjj.learn.javaplus.pkg02.demo26.SingleInstance1}
     * 懒汉式：只会在第一次获取实例对象时才会创建单实例对象 {@link com.zjj.learn.javaplus.pkg02.demo26.SingleInstance2}
     * <p>
     * 单例模式创建步骤：
     * -  a.定义一个类，把构造器私有。
     * -  b.定义一个静态变量存储一个对象。
     * -  c.提供一个返回单例对象的方法。
     **/


    public static void main(String[] args) {
        SingleInstance1 instance = SingleInstance1.getInstance();
        SingleInstance1 instance1 = SingleInstance1.getInstance();
        //true
        System.out.println(instance == instance1);


        SingleInstance2 instance2 = SingleInstance2.getInstance();
        SingleInstance2 instance3 = SingleInstance2.getInstance();
        //true
        System.out.println(instance3 == instance2);
    }
}
